Outpost 2 EXE patches


Note: All values are given in hex.


		File 	Virutal		Previous 	New 		Description
		offset 	Address 	Bytes 		Bytes	
		------ 	------- 	-------- 	----- 		-----------
Checksum	87410	488010 		81EC 18010000 	B8 280E0159	SUB ESP, 118 -> MOV EAX, 59010E28
							C3				RET

No-CD		70D7A	47197A 		7414		90 90		JE -> NOP * 2
		70D8E	47198E 		74		EB		JE -> JMP
		7044D 	47104D 		75 		EB 		JNZ -> JMP

GDI Draw	85006	485C06 		74		EB		JE -> JMP
		85472	486072 		74		EB		JE -> JMP



GlobalMusic		450702		C74424 30 	C74424 30	DSBUFFERDESC.dwFlags := 0x80 (DSBCAPS_CTRLVOLUME) ->
					80000000	80800000	DSBUFFERDESC.dwFlags := 0x8080 (DSBCAPS_CTRLVOLUME | DSBCAPS_GLOBALFOCUS)




NAT permanent fix
-----------------
This is a 2 part patch. One part is a code overwrite to hook into the correct location
and adds a CALL to the second part. The second part issues any overwritten instructions
plus the extra ones needed for the patch.

Part 1
------
File Offset: 0x0966C3
Virtual Address: 0x004972C3
Original Bytes:
	C743 16 03000000	; MOV DWORD [EBX + 16], 3
New Bytes:
	E8 F5780300		; CALL 004CEBBD
	90			; NOP
	90			; NOP

Part 2
------
File Offset: 0x0CDFBD
Virtual Address: 0x004CEBBD
Original Bytes: (Just lots of...)
	00			; DB 00
NewBytes:
	C743 16 03000000	; MOV DWORD [EBX + 16], 3
	8B4424 18		; MOV EAX, [ESP + 18]		; Load param2 (From*)
	8B48 04			; MOV ECX, [EAX + 4]		; Load From->sin_addr
	898D 64820000		; MOV [EBP + 8264], ECX		; PlayerNetworkAddressList[0].IPAddress := ECX
	C3			; RETN



